iT邦幫忙

1

[經驗分享] 從開發轉QA工程師?為何想要轉職?開發與QA的差異?

Gary 2021-02-07 20:01:0110912 瀏覽
  • 分享至 

  • xImage
  •  

大家好!本篇將會以我轉職的心路歷程作為主軸,我為什麼轉職成QA?當開發與當QA差很多嗎?當QA該注意些什麼?等等問題,我皆會以我個人經驗為主去探討,若有其他想法也請各位不吝嗇告訴我:)

先簡單自我介紹下~
小弟目前畢業已一年多,出社會後第一份工作為【網站工程師】,那時候主要負責前端工作,偶爾會協助後端,由於當時工作大多時間都是負責前端,所以我把自己定為前端的腳色,工作內容大多是依照特殊活動並開發網站新功能及維護既有舊功能
任職滿一年後就轉職成【Quality Assurance Engineer】,一個不小心就打開了未知的大門
(以下開始簡稱QA)

進入正題


什麼是QA?手動QA?自動化QA?

手動QA vs 自動化QA
QA職稱全名為【品質保證工程師】,在台灣市場中,似乎為 手動QA 為居多

  • 手動QA
    • 簡單說就是透過人力去檢測或重現BUG等等,較消耗人力及時間。
  • 自動化QA
    • 簡單說就是透過程式腳本去自動檢測BUG等等,並且品質也較高,因為腳本的順序條件都是固定的,不會有人工檢測上的誤差

或許會覺得 「感覺自動比較好吧?節省人力品質又高等等」
但其實是會針對情況不同而去調整是要手動還是自動

e.g.
今天使用者反應有個輸入欄位沒有正規化導致操作上會有錯誤,這時候應該要手動檢測還是自動化檢測呢?

A:
我會認為此時可以先透過手動方式去檢測欄位是否真的異常,若真的有異常,再將此BUG轉交給開發處理,並且將此BUG列個測試案例,日後補充在自動化腳本中,之後只要執行該腳本就可以預防此問題

簡單來說就是手動可以在段時間內較快速檢測出某些問題,自動化則是日後補足腳本並預防這些問題再次發生
手動是短線解 自動化是長線解

剩餘的我就不細說手動與自動化的差異了~
要詳細了解QA可參考:
手動測試與自動化測試的區別
QA、QC,傻傻分不清楚


轉職動機?

轉職動機

在【網站工程師】任職剛滿一年後,突然朋友問我是否要去面試看看他們公司【Junior QA Engineer】的職缺
其實周圍朋友大多是QA工程師,所以也很好奇QA到底是什麼
起初只知道QA就是【品質保證】,想著當開發如果能夠有QA的經驗,應該在開發時就可以對產品有品質加成的效果
所以思考後,就這樣去面試看看,
透過著大學時期寫過一個自動化小專案及一些程式語言的基礎,意外地就面試上了/images/emoticon/emoticon07.gif


開發不好嗎?為什麼要轉QA?


我沒有要引戰XD 請先讓我娓娓道來

我覺得當開發有個好處是,可以盡情鑽研某技術的深度,然後讓你在這技術上成為佼佼者。
同時也可以多接觸其他技術領域,來補足某些技術上的缺陷。
當開發沒有不好,只是我當時在思考方面明顯不足而已。

我認為
當開發的思維 與 當QA的思維 確實明顯不同
因為開發可能只著重於我現在的寫的 Feature 或 BUG
但QA會需要著重於產品整體,為什麼要有這Feature某Feature是否會影響到使用者某些操作行為,或者 某欄位上的文案是否正確等等都需要注意到

所以我轉當QA確實是為了日後彌補當開發時的我一些思維上的缺陷,同時也是補足我軟實力的方面


開發與QA的差異?

當開發時的我

  • 技術 ★★★★✰

    • 身為開發要一直鑽研並思考程式可以如何更有效率的執行,故而比重較多
  • 跨部門溝通 ★✰✰✰✰

    • 開發中途有問題都是統一整理給PM,PM會在跟需求方開會確認目前狀況期問題,所以親自去溝通的機會很少
  • 開發流程 ★★✰✰✰

    • 基本上我只要確保開發環境就好,其餘的前置的確認需求、開會討論等等我都不用參與,所以整體流程就算知道了也不會實際操作

當QA的我

  • 技術 ★★★✰✰

    • 需要思考哪些元件或函式式需要常使用的,並且如何執行會比較快,在寫自動化時候這部分就很重要,因為會很常有重複的流程需要反覆執行。
  • 跨部門溝通 ★★★★★

    • 這可謂是我的技能點滿的時刻,因為時常需要跟需求端(e.g. 客服、設計、使用者等等)確認需求規格,才能確保這個BUG是合理出現 或者 這個Feature是沒問題的。
      若出現技術層面的問題,又必須要開發確認好問題才能轉告給需求端知道,所以QA不管是在溝通能力、程式技術等等都必須要有一定個基礎能力,否則若出現溝通上的障礙,那問題就會沒完沒了
  • 開發流程 ★★★★★

    • 這對於QA來說是最重要的環節,有時連小小的文案都必須瞭如執掌,若QA連自家公司的開發流程都搞不懂,那很容易會有 出現問題不曉得該找誰、出現問題不曉得該怎麼解決、開發新功能卻不知道何時檢測 ,如果連QA都測得亂七八糟,那產品一定會有問題。

總結

當開發時,工作比較單純,強項在於技術層面,但若多人開發時,會出現我不了解A功能為啥有BUG,因為不是我寫的這麼BUG要等A同事來才能解決原來還有這個功能喔?我都不知道欸 應該是A同事處理的 等等窘境。
當QA時,工作範圍變廣,除了溝通能力之外,在處理事情也需要有明確的優先順序,對產品整體的是需要更瞭解,另外技術方面同時也要有一定基礎量,除了自動化之外,當開發說明技術難點時會聽不懂,甚至會不知道如何檢測BUG。

目前是我當QA三個月的經驗分享,不代表任何立場XDD

若有任何想法也可以留言告訴我
/images/emoticon/emoticon41.gif


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-02-07 22:24:56

/images/emoticon/emoticon57.gif

Gary iT邦新手 3 級 ‧ 2021-02-08 22:44:13 檢舉

/images/emoticon/emoticon41.gif

我要留言

立即登入留言